/**
 * 
 */
package de.cbf.cam.dsa.dataprovider.maneuvers;

import java.util.ArrayList;
import java.util.List;

import org.eclipse.swt.widgets.Composite;

import de.cbf.cam.dsa.battle.ui.windows.attackWindow.SideDices;
import de.cbf.cam.dsa.model.entities.states.stateChanger.StateChangerBase;
import de.cbf.cam.dsa.model.interfaces.IDiceCompositeActionListenerDSA;

/**
 * @author Nebelritter
 *
 */
public abstract class DiceCompositeActionListenerBase implements IDiceCompositeActionListenerDSA {
	
	protected SideDices sideDices;
	protected List<StateChangerBase> attackerEffects = new ArrayList<StateChangerBase>();
	protected List<StateChangerBase> defenderEffects = new ArrayList<StateChangerBase>();
//========================
//		constructors
//========================

//========================
//	   public methods
//========================

	/* (non-Javadoc)
	 * @see de.cbf.cam.dsa.model.interfaces.DiceCompositeActionListener#setSideDicesComposite(org.eclipse.swt.widgets.Composite)
	 */
	@Override
	public void setSideDicesComposite(Composite sideDices) throws Exception {
		if (sideDices instanceof SideDices) {
			this.sideDices = (SideDices) sideDices;
			return;			
		}		
		throw new Exception("Wrong type of Composite provided as SideDices");
	}

	/* (non-Javadoc)
	 * @see de.cbf.cam.dsa.model.interfaces.DiceCompositeActionListener#setAttackerEffectsList(java.util.List)
	 */
	@Override
	public void setAttackerEffectsList(List<StateChangerBase> attackerEffects) {
		this.attackerEffects= attackerEffects;
	}

	/* (non-Javadoc)
	 * @see de.cbf.cam.dsa.model.interfaces.DiceCompositeActionListener#setDefenderEffectsList(java.util.List)
	 */
	@Override
	public void setDefenderEffectsList(List<StateChangerBase> defenderEffects) {
		this.defenderEffects = defenderEffects;
	}

	

	

//========================
//    standard methods
//========================

//========================
// 	   private methods
//========================

//========================
// 	SHORT property access
//========================

//========================
//		getters
//========================

//========================
//		setters
//========================

//========================
//		listeners
//========================

}
